/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package escom.ipn.Despacho;
import java.util.Properties;
import java.util.ResourceBundle;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Daniel
 */
public class Mail {
    public void enviarMail(String correoDestinatario1,String correoDestinatario2,String asunto, String textoCorreo, int incidente){
        try {
            
            ResourceBundle recursos = ResourceBundle.getBundle("escom.ipn.Recursos.Mail");
            
            String correo = recursos.getString("correo");
            String clave = recursos.getString("clave");
            
            
            // Propiedades de la conexión
            Properties props = new Properties();
            props.setProperty("mail.smtp.host", "smtp.gmail.com");
            props.setProperty("mail.smtp.starttls.enable", "true");
            props.setProperty("mail.smtp.port", "587");
            props.setProperty("mail.smtp.user", correo);
            props.setProperty("mail.smtp.auth", "true");

            // Inicializar la Sesion
            Session session = Session.getDefaultInstance(props);
            
            
            // Se compone la parte del texto
            BodyPart texto = new MimeBodyPart();
            texto.setText(textoCorreo);

            // Se compone el adjunto con el archivo
            BodyPart adjunto = new MimeBodyPart();
            adjunto.setDataHandler(new DataHandler(new FileDataSource("../../../../Users/Daniel/NetBeansProjects/trunk/CAD-DELTA/web/Externas/Incidente_"+incidente+".xml")));
            adjunto.setFileName("Incidente"+incidente+".xml");

            // Una MultiParte para agrupar texto e imagen.
            MimeMultipart multiParte = new MimeMultipart();
            multiParte.addBodyPart(texto);
            multiParte.addBodyPart(adjunto);
            
            // Destinatarios
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new  
 		InternetAddress(correo));
            message.addRecipient(
                    Message.RecipientType.TO,
                    new InternetAddress(correoDestinatario1)
                    );
            message.addRecipient(
                    Message.RecipientType.CC,
                    new InternetAddress(correoDestinatario2)
                    );
            message.addRecipient(
                    Message.RecipientType.BCC,
                    new InternetAddress(correo)
                    );
            //CC A quien s ele envia una copia Oculta
            //BCC A quien s ele envia una copia Oculta
            
            message.setSubject(asunto);
            //message.setText(textoCorreo);
            message.setContent(multiParte);
            
            // envio MEnsaje.
            Transport trasporte = session.getTransport("smtp");
            trasporte.connect(correo , clave);
            trasporte.sendMessage(message, message.getAllRecipients());
            // Cierre.
            trasporte.close();
 	} catch (Exception e) {
            e.printStackTrace();
        }
    }
        
    
}
